Devices and methods for multipath communications

ABSTRACT

Broadband communications devices and methods operate with at least two separate communication paths between the devices and the network, such as the Internet. The broadband devices and methods receive data concurrently over the communication paths or separately. The bandwidth is increased when the separate communication paths are combined. The broadband devices employ packetized data with Voice over Internet Protocol (VoIP) technologies combined with RF communications technologies.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/161,787 filed May 23, 2016, soon to be patented as U.S. Pat. No.10,868,908, which is a continuation of U.S. patent application Ser. No.14/512,414 filed Oct. 11, 2014, now patented as U.S. Pat. No. 9,350,649,which is a continuation of U.S. patent application Ser. No. 13/531,294filed Jun. 12, 2012, now patented as U.S. Pat. No. 8,861,349, which is acontinuation of U.S. patent application Ser. No. 12/581,852 filed Oct.19, 2009, now patented as U.S. Pat. No. 8,228,801, which is acontinuation of U.S. patent application Ser. No. 10/686,375 filed Oct.14, 2003, now patented as U.S. Pat. No. 7,606,156, which claims priorityto U.S. Provisional Application Ser. No. 60/418,521, filed Oct. 15,2002, all of which are incorporated by reference herein.

BACKGROUND OF INVENTION

The primary function of the RCG is to provide a platform for CompetitiveLocal Exchange Companies (CLECs) to compete with the Local ExchangeCompanies (LECs) for residential voice and data services. The LECs havea strangle hold on the “last mile” of copper over which almost allresidential customers receive their communications services. Today, mostCLECs resell the existing services that are offered by the LECs. CLECsmake their money by purchasing these services from the LECs at adiscount and marking them up to the customer. Since these services areregulated and controlled by the Public Utilities Commission (PUC) thepricing for these services to the CLECs is set. The monthly CLECdiscount is approximately $5 to $6 per line per month for basic rateservices. This means, in practicality, that a CLEC can only charge anadditional $5 or $6 to the residential customer for basic rate servicesotherwise they would be more expensive than the LEC, and no one wouldbuy the services from them; telephone customers would simply stay withthe LEC.

To be competitive then, CLECs try to sell additional services such ascall waiting, caller ID, etc. where they have as much as a 50% margin.Some CLECs also bundle long distance services with their packages asadditional incentive to get residential customers to buy local telephoneservice from them. Since long distance fees are as low as pennies perminute to the customer, there is little profit in long distance for theCLECs. As it is, the pricing structure is such that the LECs will stayin control of the residential market, and the CLECs are nothing morethan a marketing arm of the LEC. This structure also keeps the CLECs atan equal competitive advantage, or disadvantage, with respect to eachother. The only thing that one CLEC could do to gain more customers isto be a better marketier. Since the CLECs are unable to discount theirservices because their margins are too slim as it is, the net effect isthat the consumer looses by not really getting competition in theresidential markets, and prices are kept artificially high.

For the CLECs to be truly competitive in the local telecommunicationsmarkets, they must be able to do more than simply resell the LECsservices. CLECs must be able to offer many more features or servicesthan those that the LEC provides, and they must be able to do this at alower cost, in order to attract new customers.

So, what new services can the CLECs offer? As things stand today thereare none, with the exception of DSL or Cable services which requiretremendous infrastructure costs on behalf of the CLEC. However, bydeploying an RCG in a residence, CLECs can offer advanced new callingfeatures and services over the existing POTS line. Their costs for thePOTS line from the LEC remains the same, but they can now charge forhigh bandwidth data services as well as additional calling and messagingfeatures that the LECs cannot offer. This is their competitiveadvantage.

Competition:

Many companies are currently trying to provide VoIP services toresidential customers over high-speed or broadband backbones such as DSLand cable modems, over Internet connections via a computer. Thehigh-speed services require expensive infrastructure enhancements to thelocal telephone companies' facilities and cable plants, as well asexpensive modems at the customer's end. These services are alsodifficult to deploy and too complicated for the average user. Internetbased VoIP services suffer from Internet delays caused by a lack of trueQuality of Service (QOS) capabilities across the Internet. Existing VoIPservices also require access to a computer and a technical knowledge tobe able to make it work. Because of these problems, VoIP services areprimarily targeted at the corporate market place where private IPnetworks that can carry VoIP services with a true guaranteed QOS exist,or can be controlled.

The only available alternatives for the residential user for high speedservices are DSL and cable modems. DSL and Cable based communicationsreach only a small segment of the population, and growth has failed tolive up to initial expectations. The recent collapse of the internetboom has led to the failure of many DSL service providers and haseffectively eliminated DSL as a potential service for most POTS usersfor the immediate future.

SUMMARY OF THE INVENTION

The RCG combines the capabilities and features of IP routers, Class 5circuit switches and wireless LANs in a small stand-alone external modemlike device. Additional capabilities for a hands-free speakerphonedevice with a large touch display are also detailed. The RCG can employa large display with sufficient resolution to provide a functional userinterface to access all of the advanced features offered by the RCG, butalso to be able to provide video telephone services.

The device is placed in a residence and connected to the primary POTSline coming from the LEC. Up to three standard telephones or FAXmachines (or any combination) are typically connected into the RCG. Italso has a Universal Serial Bus (USB) and/or a 10-100 Ethernet interfacefor connection to a computer or a Local Area Network (LAN). In addition,it has an 802.11b/g wireless interface for wireless home networking aswell as broadband-to-the-home services.

The system is installed in a customer's home by simply plugging it intothe existing incoming telephone line that provides POTS services fromthe LEC. One or more standard telephones are then plugged into its threeline-output jacks. This is the simplest and most basic usage. In thisimplementation, the user only is interested in gaining additionaltelephone lines into the household. No computer connection is requiredin order to use the system. However, if data communications are desired,then there are three additional interfaces for computer connectivity.Typically either an Ethernet port, USB port or firewire (IEEE 1394) portis used to connect to a PC or LAN. The 802.11b/g interface is forwireless communications between the RCG and PCs, other RCGs as well asany other types of compatible wireless devices. A version of the RCGincludes a speakerphone and video camera to provided for video telephoneservices.

Services Provided by the RCG:

The following discussion refers to FIG. 1. The RCG has a main systemprocessor that is responsible for all house keeping and traffic routingtasks. The Main CPU 19 routes data to and from the Ethernet Port 11, USBPort 12, Modem/DAA 41, DSP Engine 33, 802.11b/g Module 36 and theDisplay and Keypad 10.

The RCG provides a total telecommunications communications servicespackage for residential and small business customers. With the RCG, aCLEC can offer its customers dialtone for up to three separate telephonenumbers per residence (the limit of three telephone numbers is anarbitrary number based upon typical residential usage and is not a limitimposed by the system), all local and long distance services, 24/7always-on Internet access, a host of custom messaging and callingfeatures, as well as Broadband access and lifeline service. All of theseservices can be offered over a customer's existing POTS line, and itdoesn't require any network infrastructure build out like DSL and Cableservices. Because there is no expensive network equipment required, itcan be readily deployed throughout the country to expand the CLECscustomer base quickly.

The RCG is designed to enhance, not replace, the existing telephoneline, enabling it to provide new combined packetized voice and dataservices. Meanwhile, all existing telecommunications infrastructure andequipment will continue to work seamlessly with the RCG. Aside fromsimply installing the low cost RCG device in the home telephone wiring,no other equipment needs to be purchased by either the home owner ortelephone companies. This eliminates the tremendously expensiveinfrastructure costs for communications companies that are trying toprovide voice services using DSL or cable modems.

The RCG VIP Home Gateway Features:

Up to three telephone lines i.e. numbers, over a single POTS line and/orwireless connection.

Ethernet, USB and IEEE 1394 computer interfaces.

Full G1, G2 and G3 FAX support.

Full support for all CLASS services.

Broadband networking for home computers and appliances as well as widearea networking using a combination of a plurality POTS lines connectedto a plurality of RCGs and/or a direct wireless connection to a wirelessaccess point. (These interfaces allow smart devices to communicate toother devices within the home, or over the Internet through the RCG.)

Automated, remote upgradability and configuration. (Requires thecustomer to do nothing.)

Transparent user operation. (User doesn't have to know that any newtechnology is being employed)

100% compatible with existing public telephone system.

Video Telephone capabilities.

No local or long distance usage charges.

No Internet access fees.

Lower monthly communication costs.

Multiple telephone calls at the same time.

Voice messaging, follow me features, call forwarding, automatic callback, conferencing, custom call routing. Home networking capabilities,all CLASS calling features, high speed broadband networking, continuous24/7 internet access. and many others.

All of these features are available even while connected to theInternet.

Very low cost of entry into the market, especially as compared tobroadband alternatives.

New calling features that are not currently available to home users.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows the RCG functional block diagram with the preferredembodiment of an 802.11 wireless connection.

FIG. 2 shows the network topology for native RCG to RCG communications.

FIG. 3 shows the network topology for an RCG to PSTN call.

FIG. 4 shows the RCG top view with associated functions.

FIG. 5 shows the RCG rear view and associated connections.

FIG. 6 shows a typical application with peripheral equipmentconnections.

FIG. 7 shows an ad-hoc wireless LAN configuration with ppp multilinkdata distribution and wireless connectivity.

FIG. 8 shows an ad-hoc wireless LAN configuration with ppp multilinkdata distribution and wireless connectivity with connection to abroadband neighborhood access point (Wi-Fi hot spot).

FIG. 9 shows an ad-hoc wireless LAN configuration with ppp multilinkdata distribution and wireless connectivity with wireless data hoppingwith POTS connections through numerous different Class 5 offices.

DETAILED DESCRIPTION OF THE INVENTION

The preferred embodiment is detailed herein using the ubiquitous 802.11wireless protocol. It is by no means insinuated that this is the onlywireless scheme that can be used by this device; rather, it is intendedthat any wireless transmission scheme can be used for wirelesscommunications between this device and other wireless devices as variousapplications may dictate.

System Initialization

Refer to FIGS. 1, 2 and 3 for the following discussion. When the RCG isfirst plugged into an AC power outlet the Main CPU 19, performs aPower-on Self Test (POST) routine. Once the POST completes and the RCGis connected to an active POTS line, connected to the LEC, by means ofthe Incoming POTS Port 40, the RCG automatically initiates a modemconnection via the Modem/DAA 41, to a registration service via a tollfree 800 telephone number. The registration service connects directly tothe service provider's sales or customer service offices via a VoIPconnection. An operator or an automated service answers the call andsets up a new account for the customer. Once the account is set up, theservice provider's network automatically sends control information tothe device to store the required routing and feature/service informationin its non-volatile memory of its Main CPU 19. As part of thisinformation, a local dialup telephone number is sent to the device thatit will use for local network access in the same fashion as a standardISP connection is made from a home computer. The URL of theSoftswitch/SIP Proxy Server and Registrar 51 that will be controllingthis particular device is also stored at this time. During the serviceactivation and configuration process, the customer service operator cansend test requests to the device, as well as call into it on anothertelephone number (assuming an additional telephone number is part of theusers class of service) or the speakerphone to verify that it isconfigured and working properly. The final step of the configuration andinitialization process is to register the device with the appropriateSoftswitch/SIP Proxy Server and Registrar 51 so that the Softswitch/SIPProxy Server and Registrar 51 knows that it is the controlling SIP Proxyfor this RCG. Also configured at this time is the username/passwordverification server (this is a standard network device and is not shown)that is used to allow the RCG's modem to make a connection onto theservice provider's network. Once the RCG configuration is completed, itdisconnects the call by hanging up the Modem/DAA 41, then dials the newlocal network access number that had been sent during the configurationprocess and establishes a constant local network connection. Thisconnection is maintained continuously on a 24/7 basis, and isimmediately reestablished whenever it drops. Should the RCG becomeunable to reestablish this connection after several tries, it willswitch over to failsafe mode and inform the user via the Display andKeypad 10. The RCG will try to reestablish the connection every fewminutes until it finally succeeds.

By default, the first telephone port, POTS 1 Port 30, is assigned as thetermination port for the existing POTS service that is connected toIncoming POTS Port 40. This is the existing telephone service that theuser already has as his primary telephone service from his LEC. POTS 1Port 30, typically has connected to it a standard telephone set thatdoes not require any power (other than that derived over the POTSinterface) to operate properly. POTS 1 Port 30 is the Lifeline telephoneport for the user. In the case that all power is lost to the RCG, POTS 1Port 30 will fail to a direct connection to the Incoming POTS Port 40telephone line that comes into the RCG from the LEC to provideuninterrupted telephone services to the user. In this state, however,none of the enhanced VoIP services of the RCG are available to the usersince the user simply has a stand POTS telephone service to the LEC.

Two additional and unique telephone numbers can be assigned to the othertwo telephone ports, POTS 2 Port 29 and POTS 3 Port 28, by the serviceprovider at any time. These numbers are drawn from a pool of availabletelephone numbers assigned to the service provider. POTS 2 Port 29 andPOTS 3 Port 28 must to have standard telephone numbers assigned to themso that the PSTN is able to route calls from its network to these ports.For calls originating from IP based telephones, these numbers are notnecessarily needed since POTS 1 Port 30, POTS 2 Port 29 and POTS 3 Port28 are uniquely identifiable to IP networks via their IP addressesassigned through the Dynamic Host Configuration Protocol (DHCP) at thetime that the RCG establishes a connection to the service provider'snetwork. Since POTS 2 Port 29 and POTS 3 Port 28 must have a telephonenumber assigned to them, it is a matter of convenience to use theassigned telephone numbers as part of their SIP address for IP routingof their data. In this way, all three user POTS ports, POTS 1 Port 30,POTS 2 Port 29 and POTS 3 Port 28 are all addressed the same manor.

At this point, the user is able to take advantage of all of the RCG'sfeatures that have been activated according to his service agreement.The user can at any time connect additional telephones, a computer or acomputer network to the RCG. The user will only be able to use thosetelephone ports (POTS 1 Port 30, POTS 2 Port 29 or POTS 3 Port 28) thathave been activated, and assigned unique telephone numbers by theservice provider. Any type of standard telephone can be connected to thethree POTS ports, POTS 1 Port 30, POTS 2 Port 29 and POTS 3 Port 28. Inthe event that a cordless telephone or a telephone that derives itspower from an AC outlet is connected to POTS 1 Port 30, the lifelinefunctionality of this port will be ineffective since the telephoneitself will not operate once power is lost.

The speaker phone feature of the RCG, comprised of Speakerphone Drivers22, Microphone 24, Speaker 25 and DSP Engine 33, can be used on any ofthe activated telephone numbers and is by default enabled to operate onPOTS 1 Port 30. Once either of the other two telephone ports, POTS 2Port 29 or POTS 3 Port 28, is activated, the speakerphone function isactivated for those lines as well. To use the speakerphone for anyassigned telephone number, the user simply presses either the LineSelect Button 79-81 for Line 1, Line2 or Line 3 on the face of the RCG,and the speakerphone function is activated on that line. This isconvenient for answering any call directly at the RCG. The RCG may ormay not have a number keypad for originating calls. This feature may beadded or removed based upon the target market price points.

The determination as to which Inter Exchange Carrier (IXC) the RCG willroute its data through is determined by any of a number of criteriaincluding, but not limited to, whether the RCG is a private labeledproduct, or which carrier has the lowest cost routing, or if a specificcarrier is specified by the customer, or and number of otherconsiderations. The RCG can be programmed to change its routing path toany IXC at any time by the service provider. Complicated routingalgorithms can be programmed into the RCG to control which IXC it willuse at any time.

Failsafe Mode

During any time that the RCG is in failsafe mode i.e. Lifeline failsafelogic 39 is activated, the RCG will only be able to receive or initiatetelephone calls via the telephone connected to its primary telephoneport, POTS 1 Port 30 or through its speakerphone feature. In thiscondition, all activated telephone numbers are ported via the PSTN tothe primary (first) telephone number for delivery to the user'stelephone that is connected to POTS 1 Port 30. While in failsafe mode,the modem is not activated, and the RCG appears to the local Class 5office as a standard telephone, and the PSTN will route all incomingcalls to the RCG as it normally would to any standard telephone.

Call Flow 1:

Dialed call origination from a telephone connected to an RCG POTS portand terminating at another user's RCG POTS port:

When a user picks up a telephone connected to any of the three POTSports, POTS 1 Port 30, POTS 2 Port 29 and POTS 3 Port 28, an off hookcondition is detected by the SLIC/CODEC Interface 27 that is connectedto the DSP Engine 33 by way of the DSP Audio Interface 31. The DSPEngine 33 responds by sending digitally generated dialtone to theappropriate POTS interface over the DSP Audio Interface 31. (Note: allBORSCHT telephony functions are performed by the DSP Engine 33 and theSLIC/CODEC Interface 27.) Upon hearing the dialtone, the user enters thedesired telephone number on his telephone keypad. The Dual ToneMulti-Frequency (DTMF) digits that the user dials are decoded within theDSP Engine 33. The dialed digits are transferred to the Main CPU 19 viathe CPU/DSP Communications Path 34. The Main CPU 19 polls the DSP Engine33 approximately every two milliseconds looking for data. The Main CPU19 polling rate varies according to the process that is being performed.The CPU/DSP Communications path 34 also can generate an interrupt toforce data transfer between it and the Main CPU 19.

The Main CPU 19 generates a SIP Invite IP packet using the dialed digitsas the called destination address and the URL of its local controllingSIP Proxy Server which was programmed into the RCG during theconfiguration process. The Main CPU 19 passes this SIP packet off to theModem/DAA 41 for transmission over the network. The RCG Modem/DAA 41 isconnected to and communicating with a modem in a modem bank located inthe Inter Exchange Carrier's (IXCs) facility. This facility may actuallybe located in the LEC's physical plant or it may be physically locatedat another location.

Referring to FIG. 2, User A RCG 44 is connected via its modem to theLEC's local Class 5 Office A 47. In this example, the service provider'sconnections to the IXC A Modem Bank & Router 48 are through IXC AInter-Office Trunks 46. The service provider may or may not be the IXC.If the service provider does not have its own network, then it willpurchase capacity from an IXC and route its traffic to that IXC'sfacilities. The SIP Invite IP Packet that is sent from User A RCG 44transits the LEC's Class 5 Office A 47 facilities and is routed to theIXC A Modem Bank/Router 48 via the IXC A Inter-Office Trunks 46. It isthe job of the router to take the IP packet and route it on to itsintended destination, in this case the appropriate SIP proxy server 51.The router uses the URL for the Softswitch/SIP Proxy Server andRegistrar 51 contained in the SIP Invite to know where to route thepacket. (Note: The Softswitch, SIP Proxy Server and Registrar arelogical devices that may reside in a single computer system, or may beimplemented as completely separate devices. In this example, theSoftswitch, SIP Proxy Server and Registrar are all shown as a singlephysical device running these three separate processes.) The IXC A ModemBank/Router 48 sends the SIP Invite IP packet on to Softswitch/SIP ProxyServer and Registrar 51 via an IP based network route 52.

The SIP Proxy Server process running on Softswitch/SIP Proxy Server andRegistrar 51 performs a look up to determine the termination destinationfor the call using the dialed digits passed along in the SIP Invite IPpacket. In this example, the terminating device for User B RCG 56 is viaIXC B's Modem Bank/Router 49 then through Class 5 Office B 50 and overUser B POTS line 55 and finally to User B RCG 56. Not covered in detailhere is the SIP message handling since it is completely covered in IETFRFC2543. This example shows that both the originating and terminatingends of this call are controlled by the same Softswitch/SIP Proxy Serverand Registrar 51 device. Where the originating and terminating ends of acall are controlled by different Softswitch/SIP Proxy Server andRegistrar devices, an additional level of SIP messaging is used betweenthe two SIP Proxy Server processes of each of the Softswitch/SIP ProxyServer and Registrar devices to locate and control the terminatinglocation of the call. Again, that information is covered in IETF RFC2543and is repeated here.

After the call routing is setup using SIP, and User B answers the call,the Softswitch/SIP Proxy Server and Registrar 51 device sends IP addressof the originating User A RCG 44 to the User B RCG 56 and the IP addressof User B RCG 56 to User A RCG 44. Once both RCG's have the other's IPaddress, they then communicate directly to each other using Real TimeProtocol (RTP), and the Softswitch/SIP Proxy Server and Registrar 51device is no longer part of the connection. This direct communication isshown as IP based RTP Stream 57 between IXC A Modem Bank/Router 48 andIXC B Modem Bank/Router 49.

On the receiving end of the call, referring back to FIG. 2, User B RCG56 receives the SIP Invite data stream through its Modem/DAA 41 andpasses it on to the Main CPU 19. The Main CPU 19 reassembles the SIP IPpacket and interrogates the header information to determine which POTSport, POTS 1 Port 30, POTS 2 Port 29 and POTS 3 Port 28 the call isdestined for based upon the dialed number contained in the SIP Invitemessage. The Main CPU 19 commands the DSP Engine 33 to control theSLIC/CODEC Interface 27 to apply ringing voltage to the selected POTSport to ring the phone. A corresponding SIP 180 (ringing) message issent back to User A RCG 44 in the reverse direction. When the phoneattached to the selected POTS port is answered, the off hook conditiondetected by the SLIC/CODEC Interface 27 is sent through the DSP Engine33 to the Main CPU 19 that sends the SIP 200 OK message back to User ARCG 44 to let the RCG know that the call was answered by User B RCG 56and to turn off the audible ringing tone for User B. Once the call isestablished, User A RCG 44 sends and ACK F12 SIP message to User B RCG56 indicating that User A RCG 44 understands that the call setup hasbeen completed.

The two RCGs now exchange SIP messages that include the type of voiceencoding that will be used such as G.729, G.723.1, G.711 etc toconfigure their RTP streams so that they can reliably transfer the userinformation between them. At this point the call (voice data) is sentbetween both RCGs and a normal telephone conversation takes placebetween the user A and user B.

Call teardown is accomplished by either user hanging up their telephone.The RCG of the terminating end (the end that hangs up the phone first)detects the on-hook condition and sends a SIP Bye message to the otherend. The other end upon receiving the SIP Bye message responds with anOK 200 SIP message and disables the appropriate POTS port that the userwas using.

The Speakerphone interface can be used for either end of a telephoneconversation in exactly the same way as described above except that thecorresponding POTS port that the call was intended for is disabled ifthe call is answered via the speakerphone.

Call Flow 2:

Calls between an RCG device and a PSTN telephone:

Refer to FIG. 3 for the following discussion.

In the previous call example, the PSTN network had nothing to do sincethe call was over a previously established modem connection between twoRCGs. In the cases where a call originates or terminates to a standardtelephone serviced by a Class 5 office, the process is a bit morecomplicated.

When a call originates from a user via an RCG, such as User A RCG 44,the call handling practices are exactly the same up to the point thatthe SIP Proxy Server process in the Softswitch, SIP Proxy Server andRegistrar 51 performs a lookup to determine how to route the call. Inthis case, the SIP Proxy Server process determines that the callterminates at a standard PSTN telephone attached to the Class 5 Office B50. Since the call originates as a native VoIP service, it must beconverted to a standard switched circuit based service to be able to bedelivered to User B's telephone 61. The conversion is performed by theIXC's Media Gateway 60 device. In this example, the SIP Proxy Serverprocess routes the call via the IXC's Media Gateway 60 device instead ofthrough the IXC B Modem Bank/Router 49 as before. The SIP Proxy Serverprocess sends a SIP Invite to the IXC's Media Gateway 60 device, as wellas other control information, to direct the Media Gateway 60 device toterminate the call and to apply the appropriate voice compressionalgorithm to the media stream to convert it between switched circuit PCMformat and the selected VoIP protocol. At the same time, the Softswitchprocess of the Softswitch, SIP Proxy Server and Registrar 51 devicesends commands to the Media Gateway 60 device to cause it to route thecall's PCM data to a specific channel on the IXC B Interoffice Trunk 54.The Softswitch process then generates an SS7 ISUP message that is sentover the PSTN SS7 signaling network to the Class 5 Office B informing itof the incoming call and on which circuit the call has been placed. Itis up to the PSTN at this point to ring the User B telephone 61 andprocess the call between the IXC's Media Gateway and the User BTelephone 61. The Softswitch process handles the signaling conversionbetween the PSTN's SS7 network and the IXC's SIP messaging, as well asany other proprietary signaling schemes utilized by the IXC to controlits network. The standard SS7 call control messages, such as ringing,busy, ring back etc., all have a comparable SIP call flow controlmessages. The Softswitch simply maps the SS7 messages into SIP messagesand visa-versa while routing the messages to the appropriate networkequipment.

As in the case of a call between two RCGs, the RTP media stream (theactual call data) is routed directly be the IXC A Modem Bank/Router 48and the IXC's Media Gateway 60 via an IP based RTP Stream 57.

Again, call teardown is accomplished by either user hanging up theirtelephone. Depending which end hangs up the phone first, the associatednetwork will generate the appropriate messages which will eventuallymake it back to the Softswitch process. The Softswitch process willrelay the appropriate call control messages between the PSTN and theIXC's SIP based control system.

A telephone call originating from a PSTN telephone is configured andsetup in the same fashion as the above description except that theoriginating messaging begins within the PSTN network instead of theIXC's network.

Personal Computer Based Communications:

Where the RCG is connected to a Personal Computer (PC) through eitherits USB Port 11 or Ethernet Port 12, the RCG operates exactly as a cableor DSL type modem device. The RCG is simply a pass through for thecomputer's data. The RCG receives the IP packets (of whatever type) fromthe computer and sends the information unchanged to the Modem/DAA 41interface for transmission over the Internet. Received information fromthe Internet is processed in the reverse way.

Dynamic Bandwidth Allocation:

When a modem connection is established between the RCG and the“Network”, the total available bandwidth of this connection is used in ashared/prioritized fashion. Voice services (calls) take precedence overdata services. Therefore, when no calls are in progress all of theavailable bandwidth is used by data type services such as surfing theInternet or uploading/downloading files. However, when a call is to bepassed through the RCG, the required bandwidth for the call isdeallocated from the data services and prioritized for the telephonecall. This necessary because the Quality Of Service (QOS) is importantfor effective communications over electronic networks. Since the voicedata is carried over a “data centric” network topology (an IP basednetwork), call quality can suffer greatly. Every effort must be taken toeliminate or reduce the packet delay through every network element to beable to provide the best call quality. For data applications such assurfing the Internet or downloading files packet delay is acceptable andexpected, and it does not affect the “quality” of the data.

Since all voice and data is transmitted as packets, there are no “timeslots” or other type of “channelization” associated with thetransmission of this data over either the POTS line or the wirelessinterface. Channelization of the voice data does occur within theSLIC/Codec Interface—27 but is converted into IP packets by the DSPengine—33 and is handled as packets from that point on.

Regardless of whether the call is originating or terminating at the RCG,the bandwidth allocation process is the same. When the SIP call setupmessages are processed, the type of voice compression that will be usedis defined. The RCG Main CPU 19 handles the IP packet flow between theDSP Engine 33, USB Port 12, Ethernet Port 11, 802.11b/g Module 36 andthe Modem/DAA 41 devices giving priority to the voice packets to andfrom the DSP Engine 33 and the Modem/DAA 41 interfaces. Voicecompression algorithms create IP packets at a specified number ofpackets per second. These packets are handled by a timed process in theRCG. This process is started during call setup so that the packets arehandled at the correct rate based upon the compression algorithm'spacket generation rate. There is no priority assigned between the voicepackets of each of the three different POTS Ports 28-30. When more thanone voice call is in progress, they are handled in a round robin fashionbased upon the packet rate for the compression algorithm used. If, forexample, two calls are using a compression scheme that generates packetsevery 2 milliseconds, and the third generates packets every 4milliseconds, then the calls utilizing the faster packet rate will bepolled at twice the rate as the call using a slower packet rate but theyare not given priority “over” the other call. Only when there are novoice packets ready for transmission to the Modem/DAA 41, i.e. duringthe approximately 2 to 4 millisecond packetization period betweenpackets, will any pending data packets received from the USB Port 12,Ethernet Port 11 or the 802.11b/g Module 36 be sent to the Modem/DAA 41for transmission over the network.

Thus, the POTS bandwidth is allocated on a per packet basis, not on a“time slot” or “channelization” or even a “frequency” basis as it thecase with T-Carrier, DSL or channelized DSL systems. The same is truefor the wireless interface, whether it is carrying pure data or voice.

Security is currently a big concern in today's networks, and especiallywith wireless 802.11 transmissions. For this reason, the RCG defaults toroute voice data over the users POTS connection via Incoming POTS Port40. As security concerns regarding wireless communications transmissionsare addressed and alleviated, voice call data can, and will, be routedover the wireless interface via the 802.11 b/g Module 36.

FAX Transmission:

Group I, 2 and 3 fax transmission is completely supported by the RCG.Fax transmission has the same priority as other voice communications.That is to say that FAX transmission is treated the same as a voice calland takes precedence over native IP data traffic.

Broadband Over POTS:

One of the primary functions of the RCG is to be able to transfer largefiles such as video files over the POTS lines to a residence. Theability to do this is limited by the maximum of 56 Kbps due to thedesign of the digital Class 5 office linecards and network transmissionschemes based upon T carriers. Typical Class 5 linecard design samplesthe POTS lines at a rate of 8,000 samples per second. Typically, eachsample is digitized into 12 to 16 bits by a codec device. The digitizedsample is then companded to an 8 bit sample (1 byte) which makes up thePCM data stream that is transferred over the PSTN. Therefore, each POTSline is sampled at an effective rate of 64 Kbps. Since legacy T1transmission equipment uses robbed-bit signaling, the maximum guaranteedtransmission rate for the PSTN as a whole is 56 Kbps. Because of thislimitation, standard POTS lines can only guarantee a maximum of 56 Kbpstransfer rate under the best conditions. DSL equipment gets around thisproblem by installing DSL Access Multiplexing (DSLAM) equipment at theClass 5 office end of the POTS line. By routing around the linecard, aswell as routing the data directly over the Internet or other private IPbased networks, and therefore the 64 Kbps sampling rate, DSL is notbandwidth limited like PSTN traffic is. DSL, however, suffers from thevery high costs associated with the purchase, installation, maintenance,floor lease costs, etc. DSL also suffers from very high deployment costsresulting from the labor intensive process to turn up each line. EachDSL “POTS” line must be inspected, conditioned and all load coilsremoved.

The RCG gets around the 56 Kbps POTS limitation as well as the DSLproblems by using the standard POTS lines as they are, and not requiringany additional equipment to be installed at the Class 5 end of the POTSline. This technique simplifies deployment and drastically cuts costs.

Multilink PPP Connections:

Referring to FIG. 7, the RCG implements broadband over POTS by employingan 802.11 b/g wireless interface to configure a multilink PPP bundle—87(per RFC 1990) comprised of the POTS lines connected to up to 32 RCGs.The limitation of 32 RCGs in a multilink PPP bundle is an arbitrarynumber and can be scaled up or down as required to support changes innetwork equipment capabilities. An 802.11b/g interface—87 is shown asthe preferred embodiment, since its 11/54 Mbps interface is consideredsufficient bandwidth at this time also, its transmission distances aresufficient for implementation of this device, as opposed to othershorter ranged wireless transmission schemes. However as time goes on,some other wireless interface may be more desirable. There is nothingspecial or specific to the 802.11 wireless interface that makes itparticularly suited to this application. Any wireless interface schemecan be used to implement this device.

The 802.11b/g interface—88 on an individual RCG is also used to providea peer-to-peer wireless home networking environment to other 802.11compatible wireless component within the residence (such as a hand-heldcomputer device) while acting as an always on dialup Internet gatewayover the POTS line—40 for the other wireless devices. An RCG that istransferring a very large file can request the services of 31 (in thisembodiment) other RCGs to assist in the file transfer using theirrespective POTS lines. A single RCG can therefore gain the combinedbandwidth of up to 32 POTS lines transferring data at as much as 56 Kbpseach to transfer information. This is roughly equivalent to a transferrate of 1.79 Mpbs in the inbound direction (towards the RCG) andapproximately 1.075 Mbps in the outbound direction (towards the PSTN).

The multilink PPP connection—87 is initiated by an RCG when itdetermines that the file (or streaming service) that it is to download(receive) is of sufficient size or requires a minimum amount ofbandwidth to justify the use of a multilink PPP connection. Thisdetermination can be made on many different criteria such as the filesize, type of data being transmitted, the type of compression if any, aQuality-of-Service requirement or any other pertinent information.(Since a certain amount of overhead is required to set up a MultilinkPPP connection, it doesn't make sense to use it for small or low datarate transfers.)

Multilink PPP Bandwidth Allocation and Initialization:

Referring to FIG. 7, an RCG—85 that decides to initiate a multilink PPPsession with a remote computer i.e. internet URL, requests a multilinkPPP session with that URL resource via Link Control Protocol (LCP)session management. The initiating RCG—85 and the remote server computer(not shown) will negotiate the pertinent multilink parameters such ascompression, packet size, sync/async, link quality monitoring, bitstuffing etc. As part of a successful multilink PPP session setup, theinitiating RCG—85 receives a multilink PPP session ID, or “magicnumber”, which is used to identify this particular multilink PPP sessionand is also used for adding or removing links from the multilinkbundle—87. Once the multilink bundle is setup, the initiating RCG—85begins data transfer across its POTS interface—90 with the far endcomputer system. The initiating RCG—85 then looks up the addresses of upto 31 (in this embodiment) other RCGs in its router tables to use forthe multilink PPP transfer. (If a Neighborhood Access Point is availablethe RCG could request service through it instead of setting up aMultilink PPP connection—see FIG. 8.) The initiating RCG—85 determinesthe number of remote RCGs—86 that it wants to use to get the desiredbandwidth for the transfer and sends multilink PPP service requests viathe 802.11 b/g wireless connections—88 to the selected remote RCGs—86.The selected remote RCGs—86 respond back to the initiating RCG witheither an acceptance or denial of multilink PPP service request. Thisdecision is made based upon the remote RCG's currently available POTSbandwidth and the current local demands for that bandwidth. The remoteRCG—86 makes a decision to participate in a multilink PPP service for aninitiating RCG if its POTS line—91 has a current average bandwidthutilization of less than some arbitrary limit such as 8 Kbps to 16 Kbps.This 8 Kbps to 16 Kbps bandwidth utilization represents about twoconcurrent voice conversations using standard voice compressiontechniques, or some small amount of data transmission occurring on theremote RCG's POTS interface—91 or a combination thereof. Assuming thatthe remote RCG—86 has a modem connection speed somewhere between 33 Kbpsto 56 Kbps, this would leave approximately 17 Kbps to 40 Kbps of POTSbandwidth that the remote RCG—86 could offer to the initiating RCG—85for use in its multilink PPP bundle—87. Of course, if there is noactivity on the remote RCG—86 POTS line, then the entire bandwidth willbe used for the multilink transfer. If the remote RCG—86 accepts themultilink PPP service request from the initiating RCG—85 it also sendsits currently available bandwidth on its POTS line—91 that theinitiating RCG—85 will have available to it for the multilink PPPtransfers. The initiating RCG then selects which of the respondingremote RCGs—86 it will use for the multilink PPP bundle—87 and sendsthem a multilink initialization packet containing the URL of thedestination as well as the multilink PPP session ID (magic number) andany other pertinent information required for the remote RCG to join inthe existing multilink PPP bundle—87. Each remote RCG POTS interface—91participating in a multilink PPP bundle, represents a logical “link” inthe initiating RCG's multilink PPP bundle—87. The remote RCGs—86 thensend a multilink PPP packet (over their respective POTS lines—91) to thedestination URL with the multilink PPP session ID and request to beadded to that multilink PPP bundle—87. The destination URL accepts therequest of each of the remote RCGs—86 and begins sending data packets toeach over their respective POTS lines—91. When the remote RCGs—86receive data packets sent over their respective POTS lines—91, that aredestined for the multilink PPP bundle—87, they simply relay the datapackets over their 802.11b/g interface—88 to the initiating RCG—85. Itis the responsibility of the initiating RCG—85 to perform allhousekeeping tasks associated with the multilink transfer such asdetection of lost packets and data packet reassembly, if those functionsare required. Typically, lost packet detection and retransmission andreassembly are performed at higher OSI layers by the requesting softwaresuch as a browser. The remote RCGs—86 are simply data transport nodesand do not perform any data processing on data received over a multilinkPPP bundle destined for another RCG.

The initiating RCG—85 of the multilink PPP bundle—87 continuallymonitors the bandwidth of each remote RCG's—86 multilink link whichtogether comprise its multilink bundle —87. When the available bandwidthfor the multilink PPP link of an individual remote RCG—86 falls below anarbitrary minimum set by the initiating RCG—85, the initiating RCG—85instructs the offending remote RCG, via its 802.11b/g wirelessinterface—88, to remove itself from the multilink bundle. The remoteRCG—86 will then notify the remote computer (URL) to be removed as alink in the current multilink bundle on which it is participating.Alternatively, a remote RCG—86 can inform the initiating RCG—85 of localdemands on its POTS bandwidth, and request that the initiating RCG—85remove it (the remote RCG—86) from the participation in the initiatingRCG's multilink bundle—87. The remote RCG—86 will not unilaterallyremove itself from participation in a multilink bundle without priornotification to the Initiating RCG—85. The remote RCG—86 must getauthorization from the initiating RCG—85 to remove itself from thebundle, since the initiating RCG—85 will have no way of knowing if theloss of data from that remote RCG is due to some sort of failure or fromthe remote RCG simply removing itself from participation in themultilink bundle—87. Also, for services that require a minimum Qualityof Service (QOS) such as streaming video, the initiating RCG—85 needs tocontrol the multilink bundle—87 bandwidth, and it can not do that ifremote RCGs—86 drop out of the multilink bundle—87 at will. When aremote RCG—86 requests to be removed from participation in a multilinkbundle—87, the initiating RCG—85 must immediately grant the request. Ifthe initiating RCG—85 were to not grant the request, then the remoteRCG—86 could, in worst case, delay or drop incoming multilink packetsdestined for the initiating RCG—85. If this were to happen, theinitiating RCG—85 will have missing packets and could over run itsreassembly buffer (if reassembly is being performed by the RCG) causingcatastrophic data loss and potentially have to restart the entiretransmission. In the least case, the initiating RCG—85 would have toinitiate retransmission of potentially many packets which it assumes tobe lost, but may simply be delayed by the remote RCG—86. Once a remoteRCG—86 has been removed from participating in a multilink bundle—87, theinitiating RCG—85 will then look up another remote RCG in its routertables that can be used to participate in the multilink PPP bundle—87,and request that the new remote RCG—86 to join the existing multilinkbundle—87. This is necessary to maintain a minimum Quality of Service.Since RCGs prioritize their bandwidth requirements based upon their own“local” service requirements, their participation in any multilink PPPservice is available only to bandwidth that is not required for its owncurrent local demands. Therefore, a remote RCG's—86 bandwidth that isavailable for multilink services can change at any time. The dynamicreassignment of remote RCGs that participate in a multilink bundle isalso required to prevent a remote RCG—86 from receiving packets soslowly that the originating RCG—85 interprets this delay as lostpackets. When the initiating RCG—85 determines that a packet has beenlost, and it is performing packet reassembly, it will, itself, requestthat the remote computer retransmit the lost packet. The initiating RCGwill not ask any remote RCG—86 to perform retransmissions or any otherkind of data computations or manipulations.

Refer to FIG. 8 for the following discussion. In areas where there areexisting 802.11 network equipment such as Neighborhood Access Point—93,or where there is sufficient bandwidth requirements from an installedbase of RCGs to warrant the deployment of a Neighborhood AccessPoint—93, the RCGs will automatically detect the presence of thecompatible neighborhood access points and register with that equipmentfor transport services. In this case, an RCG has an alternativebroadband service route in addition to the multilink option. An RCG cancommunicate directly with a local 802.11 Network Access Point—93 that isconnected to the PSTN or another carrier's network via some sort of highbandwidth backbone such as a T-Carrier or optical carrier connection(T1, T3, OC3, OC12 etc.). The RCGs can communicate directly withneighborhood access points at their full 11/54 Mbps data rates toprovide up to that full bandwidth to the user. This functionality is, ofcourse, subject to the Network Access Point—93 allowing access to itsresources to the RCG according to the 802.11 wireless protocol.

This architecture is important since it provides an avenue to relievethe local class 5 offices of congestion that can be caused by a widespread deployment of RCGs within the class 5 service area. Since eachRCG requires a constant 24/7 modem connection, this ties up the class 5switch in a fashion that it was not designed for. This could lead towholesale class 5 office expansions which would be extremely expensive,and potentially prohibitive for the Local Exchange Carriers (LECs). Bydeploying neighborhood access points that operate at 54 Mbps(802.11a/g), in areas where the RCG concentration starts placing toohigh of a demand on the local class 5 office, the bandwidth from theRCGs can be aggregated by the neighborhood access points into largecapacity backbones to relieve the switch congestion. In this case, theRCG POTS interface—40 can be used solely as a lifeline connection, orwhen the 802.11 wireless LAN in which the RCG resides is congested. Withthis implementation, voice calls will be carried over the wirelessinterface as opposed to the POTS interface on which they would normallybe carried. Also, the RCG modem—41 connected to the POTS interface—40would not need to maintain a constant always on connection, it could bea dialed on demand connection and thereby relieving the local class 5office switch.

Bouncing or Hopping Traffic:

Refer to FIG. 9. In areas where the density of RCGs is less than thearbitrary number of 32 RCGs within its transmission radius for multilinkconnections, the RCGs can bounce, or relay, the data traffic betweeneach other to reach other RCGs located farther than the RCGs wirelesstransmission area. Since the POTS data rate of 56 Kbps is miniscule ascompared to the 11/54 Mbps 802.11b/g transfer rate, the overheadassociated with bouncing data traffic is not a concern. This will allowfor the fastest possible data transfer across POTS lines for every RCGuser.

RCGs can also communicate directly with an 802.11a Neighborhood AccessPoint—93 device (such as that used in WI-FI networks) that is connectedto a data network connection such as a DS3 or OC3 service via a MetroAccess Point. Where an RCG has access to a broadband device such as an802.11a type device, either directly or via a bounced signal acrossseveral RCGs, a direct high speed data connection can be used totransfer large files. When an RCG is communicating directly with an802.11a device, data transfer speeds up to the full 11/54 Mbps can beachieved to speed video transfers for such applications as video ondemand.

RCG Router Tables:

The RCG continually monitors its 802.11b/g wireless interface fortransmissions from other RCGs or 802.11a Access Points as well as other802.11b/g wireless devices within the residence. The RCG provides ameans to identify and store the addresses of other RCGs and NeighborhoodAccess Points within its local area. The RCG creates routing tables,much like an IP router device, so that it knows which RCGs are local toitself, and how many hops will be needed to reach the maximum of 32 POTSlines or a Neighborhood Access Point. The RCG can then determine how toroute its data transfers to gain the most efficient routing and networkefficiencies.

The router tables in each RCG are continually updated by monitoring the802.11 frames received from other RCGs or Network Access Points. Thenumber of entries in the router tables can be limited to an arbitrarynumber of other RCGs but contains room for at least 32 entries. For eachRCG listed in the router tables, certain information is kept such assignal strength, if the other device is another RCG or some other 802.11compatible device, if the other RCG is reachable directly, or if it isaccessed via another RCGs by hopping. In the case there RCG hopping isused, the address of each RCG that is hopped is stored in the routingtable. When an RCG is first powered up, it monitors its 802.11 interfacefor a period of time to identify other RCGs or Neighborhood Access Pointdevices, or other Wi-Fi devices within its transmission area. When firstdeployed, the RCG will not have any entries in its routing tables. Thiscondition can persist for some time, until another RCG or other 802.11device is deployed within the former RCGs transmission range. In thisstate, the RCG can be used for wireless networking within the residence,connecting the local computer to the RCGs always on Internet connectionas well as to other wireless devices within the home. When an 802.11frame is received by an RCG that contains the address of an RCG whoseaddress does not exist in the receiving RCG's router table (as is thecase when a new RCG is first installed), the receiving RCG polls thetransmitting RCG for its router table information. The received routerinformation is reviewed for other RCG's or other 802.11 compatibledevices that are not listed in its own router tables. A decision is madeto use some, all, or none of the new route information in its routertables. There is no real limitation on the number of RCGs that can be“hopped” in order to build a complete router table or to reach many moreRCGs, Neighborhood Access Points or Metro Access Points.

Equipment and Services Priorities:

Just as voice has priority over data transfers within a single RCG,local RCG traffic (both voice and data) has priority over remotetransfer requests by other RCGs. If an RCG is currently using all of itsavailable POTS bandwidth for its own purposes, it will deny any remoteRCG's request for access to its POTS line. Only when there is availablePOTS bandwidth available will an RCG allow other RCGs access to its POTSline. It will, however, bounce the traffic to other RCGs within itstransmission area if requested by the originating RCG. In this case,available wireless bandwidth of any RCG (that amount of the 11/54 Mbpsnot currently used for its own traffic) can be used to relay trafficbetween other RCGs that do have available POTS bandwidth. In the samefashion, excess wireless bandwidth of any RCG can be by other RCGs toaccess high speed backbones via Neighborhood or Metro Access Points.

RCGs can also access other 802.11 wireless networks (Wi-Fi for example)that happen to be deployed within their service areas. In this case,access agreements between the RCG service provider and the wirelessnetwork operator must be put into place. By remaining compatible withthe 802.11 standards, the RCGs capabilities will benefit by the growingWI-FI network infrastructure, an the WI-FI network will benefit by theRCG network.

Voice Over POTS and Data Over Wireless:

Normally, all communications from an RCG will be transmitted over thelocal POTS line, or a multilink bundle made up of many remote RCG POTSlines. By default, all voice calls will be carried over the “local” POTSline—40 to alleviate security/privacy concerns and only “data” will betransmitted via multilink bundles. Generally, since voice “data” iscompressed locally by the RCG, the required bandwidth for a voice callis so small that it does not make for a good choice to route it over amultilink connection. However, it is possible to route voice callsentirely over another RCGs POTS line. It is also possible for an RCG totransmit voice data over POTS lines connected to other RCGs viamultilink bundles or directly over its 802.11 wireless interface, andsince the 802.11 specification does support the Wired Equivalent Privacy(WEP) specification, a secured connection can be made in this fashion.

Remote Upgradability

The RCG is designed with the capability for unassisted remoteupgradability. The remote upgradability feature is not the same as thestoring of operational parameters during the configuration process. Thisfeature allows the system operator to add new features as they aredeveloped, or to correct bugs remotely and without the users knowledgeor involvement. This feature can also be used to install a complete newoperating system (OS).

Key to the successful implementation of the Remote upgradability featureis that a completely fail-safe routine be implemented that can recoverfrom any failure during the upgrade process and to re-initiate andmonitor the upgrade process until it has successfully completed. Thisprocess is carried out by loading a boot loader program that is storedin non-volatile memory. The boot loader program provides the minimumcapabilities to start up the RCG and connect into the system operator'sdiagnostics network to download fixes or a new OS. The boot loaderprogram is technically part of the OS, but it cannot be over written byany upgrade process. It is responsible for detecting failure of the RCGand initiating a connection to the diagnostics network. Once connectedwith the diagnostics network, the boot loader will provide diagnosticssupport to help correct the RCG's operation and reconfigure the OS.

What is claimed is:
 1. A communications device that is capable ofproviding broadband communications services, comprising: at least oneconnection for connecting to a communications network; at least onewireless interface for connecting wirelessly to at least one remotecommunications device; and a processor that requests the at least oneremote communications device to assist in transferring data, sends arequest to the at least one remote communications device foravailability for participating in a multilink communication, ifavailable, sends control information through the at least one remotecommunications device for participating in a multilink connection,receives packets from the at least one remote communications device, andaggregates the data from the at least one remote communications devicewith data transfers from the at least one connection to increase databandwidth for the communications device.
 2. The communications device ofclaim 1, wherein the at least one remote communications device is atleast one of a residential communications gateway, a cable modem, adigital subscriber line, a wireless device, a neighborhood access pointdevice, a Wi-Fi device and a cellular phone.
 3. The communicationsdevice of claim 10, wherein the communications network is at least oneof a public wired network, a private wired network, a public wirelessnetwork, and a private wireless network.